using SheLife.Domain.Entities;

namespace SheLife.Application.Interfaces;

public interface IHealthRecordService
{
    Task<HealthRecord?> GetHealthRecordByIdAsync(int id);
    Task<IEnumerable<HealthRecord>> GetHealthRecordsByUserIdAsync(int userId);
    Task<IEnumerable<HealthRecord>> GetHealthRecordsByUserIdAndTypeAsync(int userId, string recordType);
    Task<IEnumerable<HealthRecord>> GetHealthRecordsByUserIdAndDateRangeAsync(int userId, DateTime startDate, DateTime endDate);
    Task<HealthRecord> CreateHealthRecordAsync(HealthRecord healthRecord);
    Task<HealthRecord> UpdateHealthRecordAsync(HealthRecord healthRecord);
    Task<bool> DeleteHealthRecordAsync(int id);
}